\documentclass[11pt,a4paper,oneside]{report}

\usepackage{longtable}

\usepackage{tikz}
\usetikzlibrary{shapes, arrows, positioning,fit,trees}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue, urlcolor=blue}
\usepackage{framed}

\begin{document}

\title{Requriement Specification}
\author{Generated with \texttt{reqT}\vspace{1cm} \\ \href{http://reqT.org}{reqT.org}}
\maketitle
\tableofcontents
\listoffigures
\listoftables
\chapter{All Entities}

\section{Goal entities}

\subsection{Goal Profitable}
\label{goalProfitable}

Elicitation = Task demonstration
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application should be profitable\\
{\bf Spec: } & The consumer companies should feel they get some value from buying this application. This will lead to an increased popularity of the application, which in turn results in more sales for the product owner.\\
{\bf State: } & specified\\
{\bf Owner: } & goal\\
\end{longtable}
\subsection{Goal Customiseable application}
\label{goalCustomiseable application}

Elicitation = Brainstorming, Specification = Feature requierments 
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application will be customisable\\
{\bf Spec: } & The product shall support a multitude of customisation options for both the product consumer and user.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Goal OS support}
\label{goalOS support}

Elicitation = Document studies, Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Mobile OS support\\
{\bf Spec: } & The application should be able run both android and iOS.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Goal \emph{\hyperref[goalOS support]{OS support}} {\bf has} quality \emph{\hyperref[qualitySupport for iOS]{Support for iOS}}. \\ 
Goal \emph{\hyperref[goalOS support]{OS support}} {\bf has} quality \emph{\hyperref[qualitySupport for Android]{Support for Android}}. \\ 

\end{longtable}
\subsection{Goal Sufficient error feedback}
\label{goalSufficient error feedback}

Elicitation = Task demonstration
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Inform the user about errors\\
{\bf Spec: } & Keep the user informed of the state of the application and any errors that may have occured.\\
{\bf State: } & specified\\
{\bf Owner: } & goal\\
\end{longtable}
\subsection{Goal Customizable application}
\label{goalCustomizable application}

Elicitation = Task demonstration
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application should be customizable\\
{\bf Spec: } & The consumer should be able to customize the application to tailor it to their needs. \\
{\bf State: } & specified\\
{\bf Owner: } & goal\\
\end{longtable}
\subsection{Goal Consumer popularity}
\label{goalConsumer popularity}

Elicitation = Task demonstration
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Increase popularity of consumer company\\
{\bf Spec: } & The application should increase the popularity of the consumer company. This is achieved mainly through the functionality of sharing Points of Interest through social media and traditional messaging. The coupon functionality will also help in achieving this goal.\\
{\bf State: } & specified\\
{\bf Owner: } & goal\\
\end{longtable}
\section{Feature entities}

\subsection{Feature Introduction tutorial}
\label{featureIntroduction tutorial}

Elicitation = Brainstorming
\begin{longtable}{r p{10cm}}

{\bf Gist: } & An introductory tutorial for first-time users\\
{\bf Spec: } & The first time the user starts the application an introductory tutorial explaining the features of the program is given.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
\end{longtable}
\subsection{Feature Filter open hours}
\label{featureFilter open hours}

Elicitation = Brainstorming, Specification =  Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Filter stores by opening hours\\
{\bf Spec: } & The user should be able to specify a filter which make the map view only show stores which are open between specified hours.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
{\bf Prio: } & 4\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureFiler]{Filer}} {\bf has} feature \emph{\hyperref[featureFilter open hours]{Filter open hours}}. \\ 

\end{longtable}
\subsection{Feature Cancelable POI fetch}
\label{featureCancelable POI fetch}

Elicitation = Task demonstration, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & It should be possible to cancel POI fetching\\
{\bf Spec: } & The product shall provide a way for the user to abort a POI fetch while waiting for it to finish. This is done by simply swithching tab\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf has} feature \emph{\hyperref[featureCancelable POI fetch]{Cancelable POI fetch}}. \\ 

\end{longtable}
\subsection{Feature View bookmark}
\label{featureView bookmark}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show the corresponding POI info view\\
{\bf Spec: } & Shows the Bookmarks corresponding info view\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Sharing support}
\label{featureSharing support}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Support for sharing statistics and POIs\\
{\bf Spec: } & The system shall support the user sharing statistics and POIs.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Launch screen}
\label{featureLaunch screen}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A screen that is displayed during startup of the application\\
{\bf Spec: } & Shown when the user has started the application and is waiting for the application to load, a launch screen is displayed.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Feature Rating}
\label{featureRating}

Elicitation = Brainstorming, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Filter by ratings\\
{\bf Spec: } & The application rating filter should only allow the user to view ratings which are within an interval that start at a rating between 0-5 and ends at the rating 5.\\
{\bf State: } & dropped\\
\end{longtable}
\subsection{Feature Execution time error}
\label{featureExecution time error}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & If a phone function times out an error is displayed\\
{\bf Spec: } & The system shall show an error message when phone function execution time exceeds execution time limit.\\
{\bf State: } & specified\\
{\bf Why: } & Only network calls can timeout\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} feature \emph{\hyperref[featureExecution time error]{Execution time error}}. \\ 

\end{longtable}
\subsection{Feature No server connection}
\label{featureNo server connection}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show alert message when no server connection\\
{\bf Spec: } & The system shall show an alert message informing the user when connection to the data server is lost.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNo server connection]{No server connection}}. \\ 

\end{longtable}
\subsection{Feature From specified location}
\label{featureFrom specified location}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Gives directions to a Point Of Interest from a specified location, perhaps different from the users current position.\\
{\bf Spec: } & If the user has specified a location on the map, then directions to a Point Of Interest should optionally originate from this specified location instead of the user's current location.\\
{\bf State: } & dropped\\
{\bf Why: } & Functionality covered by other requirements\\
{\bf Owner: } & design\\
{\bf Prio: } & 1\\
\end{longtable}
\subsection{Feature No Internet connection}
\label{featureNo Internet connection}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show alert message when no internet connection\\
{\bf Spec: } & The system shall show an alert message informing the user when internet connection is unavailable.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNo Internet connection]{No Internet connection}}. \\ 

\end{longtable}
\subsection{Feature Retake tutorial}
\label{featureRetake tutorial}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The introductory tutorial should be retakeable\\
{\bf Spec: } & There should be an option for re-taking the introductionary tutorial.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
\end{longtable}
\subsection{Feature Info view}
\label{featureInfo view}

Elicitaion = Similar Companies, Specification = Virtual Windows
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The Info view contains the information for a POI\\
{\bf Spec: } & An info view which is linked to a Map pin and contains all the information related to the corresponding POI. This includes the name of the POI, the address and open hours. The Info view also contains the necessary means for getting directions to the POI and sharing the POI.\\
{\bf State: } & created\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Feature Google+ integration}
\label{featureGoogle+ integration}

Elicitation = Brainstorming, Specification = Featuer requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application should be able to have interactivity with google+\\
{\bf Spec: } & Future releases of the application should support features in google+ that are similar to those supported for facebook\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Feature Facebook message wall}
\label{featureFacebook message wall}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Ability to write a message about the POI on a wall\\
{\bf Spec: } & The application should be able to let the user write a message including a POI on the walls of Facebook.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature E-mail}
\label{featureE-mail}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Support sharing of POIs through email\\
{\bf Spec: } & The product shall support sharing of POIs using e-mail templates\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Blacklisted}
\label{featureBlacklisted}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Filters by blacklist\\
{\bf Spec: } & The product shall support filtering out all blacklisted  locations.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
{\bf Prio: } & 0\\
\end{longtable}
\subsection{Feature Filter radius}
\label{featureFilter radius}

Elicitation = Brainstorming, Specification =  Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & It should be possible to filter by radius\\
{\bf Spec: } & It should be possible to only display POIs within a specified radius. The user decides on a radius (for instance by using a scroll wheel) resulting in an update of which POIs are displayed.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
{\bf Prio: } & 4\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureFiler]{Filer}} {\bf has} feature \emph{\hyperref[featureFilter radius]{Filter radius}}. \\ 
Feature \emph{\hyperref[featureFilter radius]{Filter radius}} {\bf has} quality \emph{\hyperref[qualityMaximum radius]{Maximum radius}}. \\ 

\end{longtable}
\subsection{Feature SMS integration}
\label{featureSMS integration}

Elicitation = Brainstorming, Spedcification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Support for sharing a POI via SMS\\
{\bf Spec: } & Allow the user to send a Google Maps URL a specific POI through SMS.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature About view}
\label{featureAbout view}

Elicitation = Similar Companies, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Information about the developers and the application\\
{\bf Spec: } & The application should contain an about screen that contains information about the development team and the application.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Feature Map pin}
\label{featureMap pin}

Elicitation = Document studies, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A pin rendered on the map that marks a location.\\
{\bf Spec: } & Map pins are used to mark the locations of Points Of Interest on the map. There should be functionality to render map pins on top of the rendered map.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} data \emph{\hyperref[dataMap pin colour]{Map pin colour}}. \\ 
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} function \emph{\hyperref[functionPOI popup]{POI popup}}. \\ 
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} feature \emph{\hyperref[featurePOI popup]{POI popup}}. \\ 
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} data \emph{\hyperref[dataPOI pin type]{POI pin type}}. \\ 
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} feature \emph{\hyperref[featureTapable map pin]{Tapable map pin}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap pin]{Map pin}}. \\ 

\end{longtable}
\subsection{Feature Filter}
\label{featureFilter}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Filtering of the results is possible\\
{\bf Spec: } & The application provides different alternatives for filtering the results. The user can decide on different filters and when a new filter is selected, the displayed results are updated accordingly.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Error message}
\label{featureError message}

Elicitation = Brainstorming, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Gives an alert to an error occuring\\
{\bf Spec: } & The product shall support showing error messages to the user through the use of dialog boxes\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureAlert message]{Alert message}} {\bf has} feature \emph{\hyperref[featureError message]{Error message}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} feature \emph{\hyperref[featureNotify developers]{Notify developers}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} quality \emph{\hyperref[qualityError response time]{Error response time}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} feature \emph{\hyperref[featureExecution time error]{Execution time error}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataError description]{Error description}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataOS identifier]{OS identifier}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataError code]{Error code}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataTimestamp]{Timestamp}}. \\ 

\end{longtable}
\subsection{Feature Check-in}
\label{featureCheck-in}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application allows the user to check-in through Facebook\\
{\bf Spec: } & The product shall support Facebook check-ins that include a user specific location.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Push notification}
\label{featurePush notification}

Elicitation = Brainstorming, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Application can send push notifications (iOS SPECIFIC)\\
{\bf Spec: } & The application should, when run in an iOS enviroment, make use of the push notification feature for updates and new coupon offers\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Feature Category}
\label{featureCategory}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Filters by category\\
{\bf Spec: } & The product shall support filtering by using categories as search criteria.\\
{\bf State: } & dropped\\
\end{longtable}
\subsection{Feature Google+ message}
\label{featureGoogle+ message}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Send a google+ message including a POI\\
{\bf Spec: } & Send a google+ message including the google map url to a specific POI to a friend\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Specifiable location}
\label{featureSpecifiable location}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The user location can be specified\\
{\bf Spec: } & A new location of the user can be specified by the user through the graphical user interface.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 2\\
\end{longtable}
\subsection{Feature Scaling map arrow}
\label{featureScaling map arrow}

Elicitation = Focus group, Specification = Virtual Window
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Arrows should scale depending on distance.\\
{\bf Spec: } & The arrows that point towards the POI should change their size depending on the distance between the user and the POI. If the distance grow, the arrow should also grow in size. If the distance get smaller between the user and the POI, the arrows should get smaller.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
{\bf Prio: } & 2\\
\end{longtable}
\subsection{Feature Twitter}
\label{featureTwitter}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Share POIs on twitter\\
{\bf Spec: } & The system shall support sharing POIs using a twitter tablet.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Panable map view}
\label{featurePanable map view}

Elicitation = Brainstorming, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The map view should be panable\\
{\bf Spec: } & The user can pan the map by using a 1 finger swipe gesture.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featurePanable map view]{Panable map view}}. \\ 

\end{longtable}
\subsection{Feature Hybrid map view}
\label{featureHybrid map view}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Map can be displayed as a hybrid view\\
{\bf Spec: } & The map view should be able to display a map combining the normal map view and satellite view.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureHybrid map view]{Hybrid map view}} {\bf has} quality \emph{\hyperref[qualityMap correct overlap]{Map correct overlap}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureHybrid map view]{Hybrid map view}}. \\ 

\end{longtable}
\subsection{Feature Developer feedback}
\label{featureDeveloper feedback}

Elicitation = Brainstorming, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A user can give feedback to developers\\
{\bf Spec: } & The product shall support the user sending feedback directly to the developers in charge of maintainance\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureDeveloper feedback]{Developer feedback}} {\bf enables} quality \emph{\hyperref[qualityFeedback read]{Feedback read}}. \\ 

\end{longtable}
\subsection{Feature News page control}
\label{featureNews page control}

Elicitation = Task demonstration, Specification = Screenshot
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Indicates and controls multiple news images\\
{\bf Spec: } & There should be functionality for having multiple news with a page control wich indicates which of the news is being shown, and how many other news there is.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Feature Map arrow}
\label{featureMap arrow}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Arrow pointing to locations rendered on top of the map view\\
{\bf Spec: } & There should be functionality to display arrows that point to POIs outside of the current displayed area of the map\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap arrow]{Map arrow}} {\bf has} feature \emph{\hyperref[featureTransform to a map pin]{Transform to a map pin}}. \\ 
Feature \emph{\hyperref[featureMap arrow]{Map arrow}} {\bf has} quality \emph{\hyperref[qualityMap arrow size]{Map arrow size}}. \\ 
Feature \emph{\hyperref[featureMap arrow]{Map arrow}} {\bf has} function \emph{\hyperref[functionMap arrow shows distance]{Map arrow shows distance}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap arrow]{Map arrow}}. \\ 

\end{longtable}
\subsection{Feature Network message}
\label{featureNetwork message}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Should inform the user of the status of the network\\
{\bf Spec: } & The application should show an alert message to the user when encountering a network error.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureAlert message]{Alert message}} {\bf has} feature \emph{\hyperref[featureNetwork message]{Network message}}. \\ 
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNetwork timeout]{Network timeout}}. \\ 
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNo Internet connection]{No Internet connection}}. \\ 
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNo data traffic]{No data traffic}}. \\ 
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNo server connection]{No server connection}}. \\ 

\end{longtable}
\subsection{Feature Facebook message}
\label{featureFacebook message}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Send a facebook message including a POI\\
{\bf Spec: } & Send a facebook message to a friend including a google maps url pointing to the specified POI.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Coupon}
\label{featureCoupon}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application will have functionality for special offers through a coupon system\\
{\bf Spec: } & The product shall provide a way for the product consumer to communicate special coupon offers to the user.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Execution}
\label{featureExecution}

\begin{longtable}{r p{10cm}}

{\bf Gist: } & Requirements related to the execution\\
{\bf Spec: } & The product shall limit the execution of functions and features as specified by quality requirements labeled under Execution\\
{\bf State: } & dropped\\
{\bf Why: } & dropped due to bad train of thought when elicitated\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature POI popup}
\label{featurePOI popup}

Elicitation = Negotiation, Specification = Screenshot
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Shows information about a selected POI\\
{\bf Spec: } & When a user selects a POI a small popup with information about the locations name, address, rating, and distance. It also shows a customisable icon and a button wich loads an info view cointaing POI info. \\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} feature \emph{\hyperref[featurePOI popup]{POI popup}}. \\ 

\end{longtable}
\subsection{Feature Map support}
\label{featureMap support}

Elicitation = Document studies, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Map features\\
{\bf Spec: } & This is the main feature of the map part of the application.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf enables} function \emph{\hyperref[functionShow map]{Show map}}. \\ 
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf enables} feature \emph{\hyperref[featureMap view]{Map view}}. \\ 
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf has} function \emph{\hyperref[functionFetch POIs]{Fetch POIs}}. \\ 
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf has} feature \emph{\hyperref[featureCancelable POI fetch]{Cancelable POI fetch}}. \\ 

\end{longtable}
\subsection{Feature Viewability toggle}
\label{featureViewability toggle}

Elicitation = Interview, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Visibility of radius can be toggled\\
{\bf Spec: } & The system shall provide an option to toggle if the radius used while filtering should be visible or not.\\
{\bf State: } & dropped\\
{\bf Why: } & Replaced by distance filter.\\
\end{longtable}
\subsection{Feature Map view directions}
\label{featureMap view directions}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Gives the user directions from user's location to the specified POI\\
{\bf Spec: } & The product shall provide directions for the user from their current location to a user specified POI.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 4\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view directions]{Map view directions}} {\bf has} data \emph{\hyperref[dataMap directions distance]{Map directions distance}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap view directions]{Map view directions}}. \\ 

\end{longtable}
\subsection{Feature News page}
\label{featureNews page}

Elicitation = Task demonstration, Specefication = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The main news wrapper\\
{\bf Spec: } & This object wraps an image view with its corresponding news url, this object aslo handles news page taps, and launches the appropriate url.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Transform to a map pin}
\label{featureTransform to a map pin}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Transforms arrow into a map pin\\
{\bf Spec: } & The system shall remove direction arrows and replace them with pins when the POI enters the map view port.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap arrow]{Map arrow}} {\bf has} feature \emph{\hyperref[featureTransform to a map pin]{Transform to a map pin}}. \\ 

\end{longtable}
\subsection{Feature Zoomable map view}
\label{featureZoomable map view}

Elicitation = Similar Companies, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The user should be able to zoom in and out in the map view\\
{\bf Spec: } & The user should be able to zoom in and out using a pinch gesture with two fingers\\
{\bf State: } & specified\\
{\bf Why: } & \\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureZoomable map view]{Zoomable map view}}. \\ 

\end{longtable}
\subsection{Feature Notify developers}
\label{featureNotify developers}

Elicitation = Brainstorming, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The user can notify the developers of an occurred error\\
{\bf Spec: } & The system shall provide the user with an option to forward error messages to the developers.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} feature \emph{\hyperref[featureNotify developers]{Notify developers}}. \\ 
Feature \emph{\hyperref[featureNotify developers]{Notify developers}} {\bf enables} quality \emph{\hyperref[qualityError report read]{Error report read}}. \\ 

\end{longtable}
\subsection{Feature Error margin radius}
\label{featureError margin radius}

Elicitation = Focus group, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Shows the error margin\\
{\bf Spec: } & The  GPS error margin, shown as a circle.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureUser location]{User location}} {\bf has} feature \emph{\hyperref[featureError margin radius]{Error margin radius}}. \\ 

\end{longtable}
\subsection{Feature Version message}
\label{featureVersion message}

Elicitation = Brainstorming, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Notify the user when new version is available\\
{\bf Spec: } & Notify the user via an alert message when there is a new version of the application is available. The alert sheet provides 2 options, 1: Take the user to the appstore via an appstore url. 2: Dismiss the alert sheet via a cancel button.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureAlert message]{Alert message}} {\bf has} feature \emph{\hyperref[featureVersion message]{Version message}}. \\ 

\end{longtable}
\subsection{Feature Regular map view}
\label{featureRegular map view}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Support for a regular map view\\
{\bf Spec: } & The system shall support viewing of a regular map view provided by google maps.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureRegular map view]{Regular map view}}. \\ 

\end{longtable}
\subsection{Feature POI changeable icon}
\label{featurePOI changeable icon}

Elicitation = Brainstorming
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Pins should have customizable icon\\
{\bf State: } & dropped\\
\end{longtable}
\subsection{Feature Tapable map pin}
\label{featureTapable map pin}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Pins are tapable\\
{\bf Spec: } & Pins seen on the map view can be tapped by the user so the user can access more information of said pin.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} feature \emph{\hyperref[featureTapable map pin]{Tapable map pin}}. \\ 

\end{longtable}
\subsection{Feature Alert messages}
\label{featureAlert messages}

Elicitation = Brainstorming, Specifcation = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application can alert the user through different types of messages\\
{\bf Spec: } & The product shall support different methods of notifying the user using dialog boxes.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
{\bf Prio: } & 5\\
\end{longtable}
\subsection{Feature Rate message}
\label{featureRate message}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Alerts the user to rate the application\\
{\bf Spec: } & The application should alert the user to rate the application when the user start the application more than 30 days after the first use of the application.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureAlert message]{Alert message}} {\bf has} feature \emph{\hyperref[featureRate message]{Rate message}}. \\ 

\end{longtable}
\subsection{Feature Satellite map view}
\label{featureSatellite map view}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Map can be displayed as a satellite view\\
{\bf Spec: } & The user should be able to use the map view to see the map as the satellite view map supplied by the Google API. \\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Feature No data traffic}
\label{featureNo data traffic}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show alert message when no data traffic\\
{\bf Spec: } & The system shall show an alert message informing the user when data traffic is disabled.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNo data traffic]{No data traffic}}. \\ 

\end{longtable}
\subsection{Feature Map compass}
\label{featureMap compass}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A compass showing directions\\
{\bf Spec: } & The product shall provide a compass showing the users direction in relation to the direction of the earth's poles.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap compass]{Map compass}}. \\ 

\end{longtable}
\subsection{Feature Map view}
\label{featureMap view}

Elicitation = Brainstorming, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The map view retrieved from Google Maps\\
{\bf Spec: } & The map view should be retrieved by the application from Google Maps through the Google API.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf enables} feature \emph{\hyperref[featureMap view]{Map view}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureHybrid map view]{Hybrid map view}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap view directions]{Map view directions}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureSattelite map view]{Sattelite map view}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap arrow]{Map arrow}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureUser location]{User location}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap pin]{Map pin}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureMap compass]{Map compass}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureZoomable map view]{Zoomable map view}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureRegular map view]{Regular map view}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featurePanable map view]{Panable map view}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf has} quality \emph{\hyperref[qualityMaximum pins]{Maximum pins}}. \\ 
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf has} quality \emph{\hyperref[qualityMaximum arrows]{Maximum arrows}}. \\ 

\end{longtable}
\subsection{Feature Pin types}
\label{featurePin types}

Elicitation = Focus group, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & There should exist more than one type of pins.\\
{\bf Spec: } & There should exist support for the system to allow the existence of more than one kind of pin type.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featurePin types]{Pin types}} {\bf has} data \emph{\hyperref[dataUser pin type]{User pin type}}. \\ 
Feature \emph{\hyperref[featurePin types]{Pin types}} {\bf has} data \emph{\hyperref[dataPOI pin type]{POI pin type}}. \\ 

\end{longtable}
\subsection{Feature Filter bookmarks}
\label{featureFilter bookmarks}

Elicitation = Brainstorming, Specification =  Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & It should be possible to filter by bookmarks\\
{\bf Spec: } & It should be possible to only display POIs that has been bookmarked by the user. When using this filter, all POIs that are not bookmarked will be hidden.\\
{\bf State: } & created\\
{\bf Owner: } & design\\
{\bf Prio: } & 3\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureFiler]{Filer}} {\bf has} feature \emph{\hyperref[featureFilter bookmarks]{Filter bookmarks}}. \\ 

\end{longtable}
\subsection{Feature Bookmark}
\label{featureBookmark}

Elicitation = Task demonstration, Specification = Feature requierment
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The main bookmark feature\\
{\bf Spec: } & The main feature encapsulating the bookmark related features\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature News}
\label{featureNews}

Elicitation = Brainstorming, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A screen that gives the user news about the franchise\\
{\bf Spec: } & There should be functionality for displaying a news screen with updates about the application specific franchise.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Feature Network timeout}
\label{featureNetwork timeout}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show alert message on time out\\
{\bf Spec: } & The system shall show an alert message informing the user when a network function has timed out.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureNetwork message]{Network message}} {\bf has} feature \emph{\hyperref[featureNetwork timeout]{Network timeout}}. \\ 

\end{longtable}
\subsection{Feature User location}
\label{featureUser location}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show the location of the user\\
{\bf Spec: } & The system shall show the users location on the map.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf enables} feature \emph{\hyperref[featureUser location]{User location}}. \\ 
Feature \emph{\hyperref[featureUser location]{User location}} {\bf has} data \emph{\hyperref[dataUser pin type]{User pin type}}. \\ 
Feature \emph{\hyperref[featureUser location]{User location}} {\bf has} feature \emph{\hyperref[featureSpeciable location]{Speciable location}}. \\ 
Feature \emph{\hyperref[featureUser location]{User location}} {\bf has} feature \emph{\hyperref[featureError margin radius]{Error margin radius}}. \\ 

\end{longtable}
\section{Task entities}

\subsection{Task Show pin information}
\label{taskShow pin information}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show pin information}.} \label{taskShow pin information} \\
{\it Purpose} & Show brief information about the selected POI and gives the abillity to show more specific information.\\
{\it Trigger} & Precondition: Map pins are visible on the map view. Trigger: The user taps the map pin.\\
{\it Frequency} & An average of 10 times per application use.\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Show brief information.}\\

\hline
{\bf Subtask} & {\it Show complete information.}\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow pin information]{Show pin information}} {\bf has} subtask \emph{\hyperref[subtaskShow brief information.]{Show brief information.}}. \\ 
Task \emph{\hyperref[taskShow pin information]{Show pin information}} {\bf has} subtask \emph{\hyperref[subtaskShow complete information.]{Show complete information.}}. \\ 

\end{longtable}
\subsection{Task Show coupon view}
\label{taskShow coupon view}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show coupon view}.} \label{taskShow coupon view} \\
{\it Purpose} & Let the application owner give application users application specific coupons.\\
{\it Trigger} & The coupon tab is tapped\\
{\it Frequency} & An average of 2 timer per application use\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Fetch coupons}\\
{\it Spec} & Fetch coupons from server via https\\

\hline
{\bf Subtask} & {\it Show coupons}\\
{\it Spec} & Show formatted http response from server\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow coupon view]{Show coupon view}} {\bf has} subtask \emph{\hyperref[subtaskFetch coupons]{Fetch coupons}}. \\ 
Task \emph{\hyperref[taskShow coupon view]{Show coupon view}} {\bf has} subtask \emph{\hyperref[subtaskShow coupons]{Show coupons}}. \\ 

\end{longtable}
\subsection{Task Fetch Points Of Intrest (POI)}
\label{taskFetch Points Of Intrest (POI)}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Fetch Points Of Intrest (POI)}.} \label{taskFetch Points Of Intrest (POI)} \\
{\it Purpose} & Fetch POIs from server\\
{\it Trigger} & Trigger 1: User requests the map view. Trigger 2: User sets a different active location.\\
{\it Frequency} & An average of 5 times per application use\\
{\it Critical} & None since a fetch is cancelable\\
\hline
{\bf Subtask} & {\it Reverse geocode location}\\

\hline
{\bf Subtask} & {\it Send fetch request}\\
{\it Spec} & Sends a fetch request with the active location via https to server.\\

\hline
{\bf Subtask} & {\it Process result}\\
{\it Spec} & Process the https response from the server\\

\hline
{\bf Subtask} & {\it Show results}\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskFetch Points Of Intrest (POI)]{Fetch Points Of Intrest (POI)}} {\bf has} subtask \emph{\hyperref[subtaskReverse geocode location]{Reverse geocode location}}. \\ 
Task \emph{\hyperref[taskFetch Points Of Intrest (POI)]{Fetch Points Of Intrest (POI)}} {\bf has} subtask \emph{\hyperref[subtaskSend fetch request]{Send fetch request}}. \\ 
Task \emph{\hyperref[taskFetch Points Of Intrest (POI)]{Fetch Points Of Intrest (POI)}} {\bf has} subtask \emph{\hyperref[subtaskProcess result]{Process result}}. \\ 
Task \emph{\hyperref[taskFetch Points Of Intrest (POI)]{Fetch Points Of Intrest (POI)}} {\bf has} subtask \emph{\hyperref[subtaskShow results]{Show results}}. \\ 

\end{longtable}
\subsection{Task Mark location as bookmark}
\label{taskMark location as bookmark}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Mark location as bookmark}.} \label{taskMark location as bookmark} \\
{\it Purpose} & Let the user have easy access to bookmarked locations.\\
{\it Trigger} & Precondition: A more specific information view is loaded. Trigger: The user taps the add to bookmarks button\\
{\it Frequency} & An average of 1 time per application use.\\
{\it Critical} & Max 100 locations as bookmarks\\
\hline
{\bf Subtask} & {\it Bookmark location}\\
{\it Spec} & Add location to bookmarks list\\

\hline
{\bf Subtask} & {\it Mark pin as bookmark}\\
{\it Spec} & Change the pin icon to a star\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskMark location as bookmark]{Mark location as bookmark}} {\bf has} subtask \emph{\hyperref[subtaskBookmark location]{Bookmark location}}. \\ 
Task \emph{\hyperref[taskMark location as bookmark]{Mark location as bookmark}} {\bf has} subtask \emph{\hyperref[subtaskMark pin as bookmark]{Mark pin as bookmark}}. \\ 

\end{longtable}
\subsection{Task Filter POIs}
\label{taskFilter POIs}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Filter POIs}.} \label{taskFilter POIs} \\
{\it Purpose} & Let the user filter POIs.\\
{\it Trigger} & User chooses a filter and its parameters\\
{\it Frequency} & An average of 5 times per application use\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Filter POIs}\\
{\it Spec} & Remover the pins that doesn't meet the filter criteria\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskFilter POIs]{Filter POIs}} {\bf has} subtask \emph{\hyperref[subtaskFilter POIs]{Filter POIs}}. \\ 

\end{longtable}
\subsection{Task Unhide a hidden coupon}
\label{taskUnhide a hidden coupon}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Unhide a hidden coupon}.} \label{taskUnhide a hidden coupon} \\
{\it Purpose} & Unhide a coupon that has been previously marked as hidden so that the user can see and use it from the coupon view again.\\
{\it Trigger} & Precondition: The user is currently in the view showing hidden coupons and atleas one coupon is marked as hidden. Trigger: User taps the unhide button of the coupon.\\
{\it Frequency} & Less then once per application use.\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Show hidden coupons}\\
{\it Spec} & Shows all coupons that the user has selected to hide from the normal view.\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskUnhide a hidden coupon]{Unhide a hidden coupon}} {\bf has} subtask \emph{\hyperref[subtaskShow hidden coupons]{Show hidden coupons}}. \\ 

\end{longtable}
\subsection{Task Show about view}
\label{taskShow about view}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show about view}.} \label{taskShow about view} \\
{\it Purpose} & Show information about the application and its developers.\\
{\it Trigger} & User taps the about button.\\
{\it Frequency} & An average of 1 time per application use\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Show info}\\
{\it Spec} & Shows Version number of the application, credits about the developers and contact information to the developers\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow about view]{Show about view}} {\bf has} subtask \emph{\hyperref[subtaskShow info]{Show info}}. \\ 

\end{longtable}
\subsection{Task Show a bookmark}
\label{taskShow a bookmark}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show a bookmark}.} \label{taskShow a bookmark} \\
{\it Purpose} & Let the user access a bookmark's information from the bookmarks list.\\
{\it Trigger} & Precondition: The bookmarks list is loaded. Trigger: The user taps the table view cell.\\
{\it Frequency} & An average of 2 times per application use.\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Show bookmark}\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow a bookmark]{Show a bookmark}} {\bf has} subtask \emph{\hyperref[subtaskShow bookmark]{Show bookmark}}. \\ 

\end{longtable}
\subsection{Task Remove a bookmark}
\label{taskRemove a bookmark}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Remove a bookmark}.} \label{taskRemove a bookmark} \\
{\it Purpose} & Let the user remove a previously set bookmark\\
{\it Trigger} & Precondition: The bookmarks list is loaded. Trigger: the user swipes from right to left on the table view cell.\\
{\it Frequency} & A maximum of 1 time per bookmark\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Remove bookmark from list}\\

\hline
{\bf Subtask} & {\it Remove bookmark from local storage}\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskRemove a bookmark]{Remove a bookmark}} {\bf has} subtask \emph{\hyperref[subtaskRemove bookmark from list]{Remove bookmark from list}}. \\ 
Task \emph{\hyperref[taskRemove a bookmark]{Remove a bookmark}} {\bf has} subtask \emph{\hyperref[subtaskRemove bookmark from local storage]{Remove bookmark from local storage}}. \\ 

\end{longtable}
\subsection{Task Show news view}
\label{taskShow news view}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show news view}.} \label{taskShow news view} \\
{\it Purpose} & Let the application owner show news to the application users.\\
{\it Trigger} & The news view is loaded\\
{\it Frequency} & An average of 1 time per application use\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Fetch news from server}\\
{\it Spec} & Fetch news from server via https\\

\hline
{\bf Subtask} & {\it Show news}\\
{\it Spec} & Shows the formatted http response from the server\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow news view]{Show news view}} {\bf has} subtask \emph{\hyperref[subtaskFetch news from server]{Fetch news from server}}. \\ 
Task \emph{\hyperref[taskShow news view]{Show news view}} {\bf has} subtask \emph{\hyperref[subtaskShow news]{Show news}}. \\ 

\end{longtable}
\subsection{Task Show bookmarks list}
\label{taskShow bookmarks list}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show bookmarks list}.} \label{taskShow bookmarks list} \\
{\it Purpose} & Let the user browse previously set bookmarks.\\
{\it Trigger} & User taps the bookmarks tab\\
{\it Frequency} & An average of 2 times per application launch\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Fetch stored bookmarks}\\
{\it Spec} & Load bookmarks list\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow bookmarks list]{Show bookmarks list}} {\bf has} subtask \emph{\hyperref[subtaskFetch stored bookmarks]{Fetch stored bookmarks}}. \\ 

\end{longtable}
\subsection{Task Show specific pin information}
\label{taskShow specific pin information}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show specific pin information}.} \label{taskShow specific pin information} \\
{\it Purpose} & Show specifig information about the selected POI.\\
{\it Trigger} & Precondition: Brif pin information is shown. Trigger: User taps the more information button.\\
{\it Frequency} & An average of 2 times per application use\\
{\it Critical} & None.\\
\end{longtable}
\end{framed}
\subsection{Task Use a coupon}
\label{taskUse a coupon}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Use a coupon}.} \label{taskUse a coupon} \\
{\it Purpose} & A user can use the coupon at a store to get special offers.\\
{\it Trigger} & Precondition: A coupon is open for use, Trigger: The user holds up the phone to a QR reader in the store wich reads the coupon QR image\\
{\it Frequency} & Less then once per application use.\\
{\it Critical} & The coupon has more uses left.\\
\hline
{\bf Subtask} & {\it Open coupon}\\
{\it Spec} & A user opens the coupon from coupon view by tapping it\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskUse a coupon]{Use a coupon}} {\bf has} subtask \emph{\hyperref[subtaskOpen coupon]{Open coupon}}. \\ 

\end{longtable}
\subsection{Task Application startup}
\label{taskApplication startup}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Application startup}.} \label{taskApplication startup} \\
{\it Purpose} & Start the application and make it ready to use\\
{\it Trigger} & Precondition: Application is not running. Trigger: User taps the application icon\\
{\it Frequency} & 1 time per application use\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Show launch screen}\\
{\it Spec} & Shows the launch screen until application initialization is finished\\

\hline
{\bf Subtask} & {\it Remove launch screen}\\
{\it Spec} & Fades out the launchscreen when application initialization has finished\\

\hline
{\bf Subtask} & {\it Show default tab}\\
{\it Spec} & Initializes and shows the default application tab specifyed by the customer\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskApplication startup]{Application startup}} {\bf has} subtask \emph{\hyperref[subtaskShow launch screen]{Show launch screen}}. \\ 
Task \emph{\hyperref[taskApplication startup]{Application startup}} {\bf has} subtask \emph{\hyperref[subtaskRemove launch screen]{Remove launch screen}}. \\ 
Task \emph{\hyperref[taskApplication startup]{Application startup}} {\bf has} subtask \emph{\hyperref[subtaskShow default tab]{Show default tab}}. \\ 

\end{longtable}
\subsection{Task Share POI}
\label{taskShare POI}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Share POI}.} \label{taskShare POI} \\
{\it Purpose} & Let the user share the selected POI.\\
{\it Trigger} & Precondition: The more info view is loaded. Trigger: The user taps the share button\\
{\it Frequency} & An average of 5 times per application use.\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Select sharing method}\\
{\it Spec} & An action sheet is revealed containing the different sharing methods\\

\hline
{\bf Subtask} & {\it Share POI}\\
{\it Spec} & Perform sharing the selected sharing method\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShare POI]{Share POI}} {\bf has} subtask \emph{\hyperref[subtaskSelect sharing method]{Select sharing method}}. \\ 
Task \emph{\hyperref[taskShare POI]{Share POI}} {\bf has} subtask \emph{\hyperref[subtaskShare POI]{Share POI}}. \\ 

\end{longtable}
\subsection{Task Show alert message}
\label{taskShow alert message}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show alert message}.} \label{taskShow alert message} \\
{\it Purpose} & Show an alert message.\\
{\it Trigger} & Trigger: The an alert message is pushed to the message stack\\
{\it Frequency} & An average of 3 times per application use.\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Retrieve alert message}\\

\hline
{\bf Subtask} & {\it Show alert message}\\

\hline
{\bf Subtask} & {\it Dismiss alert message}\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskShow alert message]{Show alert message}} {\bf has} subtask \emph{\hyperref[subtaskRetrieve alert message]{Retrieve alert message}}. \\ 
Task \emph{\hyperref[taskShow alert message]{Show alert message}} {\bf has} subtask \emph{\hyperref[subtaskShow alert message]{Show alert message}}. \\ 
Task \emph{\hyperref[taskShow alert message]{Show alert message}} {\bf has} subtask \emph{\hyperref[subtaskDismiss alert message]{Dismiss alert message}}. \\ 

\end{longtable}
\subsection{Task Show fetched POIs}
\label{taskShow fetched POIs}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Show fetched POIs}.} \label{taskShow fetched POIs} \\
{\it Purpose} & Show filtered POIs\\
{\it Trigger} & Precondition: Application has fetched POIs. Trigger 1: POI Fetch finishes. Trigger 2: User changes map view. Trigger 3: User sets a different active location. Trigger 4: User changes filter parameters\\
{\it Frequency} & An average of 10 times per application use.\\
{\it Critical} & None.\\
\end{longtable}
\end{framed}
\subsection{Task Change map terrain}
\label{taskChange map terrain}

\begin{framed}
\begin{longtable}{l p{7cm}}
\caption{{\bf Task} {\it Change map terrain}.} \label{taskChange map terrain} \\
{\it Purpose} & Let the user change the map terrain in the map view\\
{\it Trigger} & Precondition: Map view is loaded and not conducting a search. Trigger: User chooses another terrain\\
{\it Frequency} & An average of 3 timer per application use\\
{\it Critical} & None.\\
\hline
{\bf Subtask} & {\it Request new map}\\
{\it Spec} & Requests new map from google with the specified terrain\\

\hline
{\bf Subtask} & {\it load new map}\\
\end{longtable}
\end{framed}
\begin{longtable}{p{11cm}}
Task \emph{\hyperref[taskChange map terrain]{Change map terrain}} {\bf has} subtask \emph{\hyperref[subtaskRequest new map]{Request new map}}. \\ 
Task \emph{\hyperref[taskChange map terrain]{Change map terrain}} {\bf has} subtask \emph{\hyperref[subtaskload new map]{load new map}}. \\ 

\end{longtable}
\section{Function entities}

\subsection{Function Show POIs}
\label{functionShow POIs}

Elicitation = Similar Companies, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Shows POIs according to the user defined filter\\
{\bf Spec: } & Shows all the POIs that are allowed to be seen by the user specified filter\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Function \emph{\hyperref[functionShow map]{Show map}} {\bf enables} function \emph{\hyperref[functionShow POIs]{Show POIs}}. \\ 

\end{longtable}
\subsection{Function Unhide hidden coupon}
\label{functionUnhide hidden coupon}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Unhide a coupon\\
{\bf Spec: } & The user shall be able to unhide a coupon if they want to view it again.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Function Map arrow shows distance}
\label{functionMap arrow shows distance}

Elicitation = Interview, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The arrows should show the distance from the user to the location\\
{\bf Spec: } & At each of the arrows that point towards a POI a distance from the user to said POI is written when tapped.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 2\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap arrow]{Map arrow}} {\bf has} function \emph{\hyperref[functionMap arrow shows distance]{Map arrow shows distance}}. \\ 

\end{longtable}
\subsection{Function Show hidden coupons}
\label{functionShow hidden coupons}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Show which coupons have been hidden\\
{\bf Spec: } & The user shall be able to view a list of all available coupons that are currently hidden.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Function Tapable news}
\label{functionTapable news}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The news image should be tapable\\
{\bf Spec: } & When the user taps a news image, the news url is executed and the default webbrowser is loaded with the news url.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Function Remove bookmark}
\label{functionRemove bookmark}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Favourites should be removable\\
{\bf Spec: } & The application should allow the user to remove, and thereby delete, favourites, through the graphical user interface..\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Function Copy location}
\label{functionCopy location}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Able to copy selected location\\
{\bf Spec: } & The product shall provide a way for the user to copy the coordinates of a location to the clipboard.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Function Bookmark POI}
\label{functionBookmark POI}

Elicitation = Similar Companies, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The users can bookmark POIs\\
{\bf Spec: } & The user can bookmark a POI by tapping the bookmark button in the info view\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Function Hide coupon}
\label{functionHide coupon}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Hide an unwanted cuopon\\
{\bf Spec: } & The user shall be able to hide coupons that they don't like to view.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Function Fetch POIs}
\label{functionFetch POIs}

Elicitation = Negotiation, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Fetches nearby points of interest from server.\\
{\bf Spec: } & Sends a request to the server asking for the POIs and then converts the JSON encoded response to POIs.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf has} function \emph{\hyperref[functionFetch POIs]{Fetch POIs}}. \\ 

\end{longtable}
\subsection{Function Use coupon}
\label{functionUse coupon}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Use a coupon \\
{\bf Spec: } & The user shall be able to use a coupon provided by the system in a store.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Function Show map}
\label{functionShow map}

Elicitation = Document Studies, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Shows a map\\
{\bf Spec: } & Shows, by default, a regular map view. This map view contains POIs matching the userdefined filters. The map view also shows distance arrows and the users current location along with it's error margin.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap support]{Map support}} {\bf enables} function \emph{\hyperref[functionShow map]{Show map}}. \\ 
Function \emph{\hyperref[functionShow map]{Show map}} {\bf enables} function \emph{\hyperref[functionShow POIs]{Show POIs}}. \\ 

\end{longtable}
\section{Data entities}

\subsection{Data OS identifier}
\label{dataOS identifier}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & An identifier used when sending developer feedback and error messages\\
{\bf Spec: } & Includes description of both version and OS type represented as a UTF8 encoded string.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataOS identifier]{OS identifier}}. \\ 

\end{longtable}
\subsection{Data About view version info}
\label{dataAbout view version info}

Elicitation = Brainstorming, Specification = Virtual Windows
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Displays the current version of the application\\
{\bf Spec: } & The product shall provide the functionality to display version information within the about screen\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Data Distance}
\label{dataDistance}

Elicitation = Brainstorming, Specification = Feature requierment
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Distance from user location to location\\
{\bf Spec: } & Distance between two locations in meters represented by a long value.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Usage statistics}
\label{dataUsage statistics}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Usage statistics\\
{\bf Spec: } & The amount of searches, shares, POI taps, reviews, ratings, where the product was used, how the product was used and when the product was used.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataUsage statistics]{Usage statistics}} {\bf has} data \emph{\hyperref[dataSharing statistics]{Sharing statistics}}. \\ 

\end{longtable}
\subsection{Data About view credits}
\label{dataAbout view credits}

Elicitation = Brainstorming, Specification = Virtual Windows
\begin{longtable}{r p{10cm}}

{\bf Gist: } & About view credits\\
{\bf Spec: } & Developer credits\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Data Coupon description}
\label{dataCoupon description}

Elicitation = Task demonstration, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A string containing the coupon description.\\
{\bf Spec: } & The description string has no maximum value and is stored with a TEXT type in the database. The description i used to set the parameters for the offer and give a more detaild explaination of the offer.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Rating}
\label{dataRating}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Numerical rating 0-5\\
{\bf Spec: } & A rating of a POI specified as a integer with a  value of 0-5.\\
{\bf State: } & dropped\\
{\bf Why: } & Ratings might be hurtful for specific stores\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Timestamp}
\label{dataTimestamp}

Elicitation = Brainstorming, Specifcation =  Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & the error message should contain a timestamp when the error occurred\\
{\bf Spec: } & A long containing the amount of milliseconds since 01-01-1970.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataTimestamp]{Timestamp}}. \\ 

\end{longtable}
\subsection{Data Coupon usage limit}
\label{dataCoupon usage limit}

Elicitation = Task demonstration, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Limit the number of times a coupon is used\\
{\bf Spec: } & The coupon has an attribute showing how many times it can be used.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data User pin type}
\label{dataUser pin type}

Elicitation = Document studies, Specification = Data Model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Specific pin type for the users location\\
{\bf Spec: } & A constant integer of value 1 named kUserPinType.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featurePin types]{Pin types}} {\bf has} data \emph{\hyperref[dataUser pin type]{User pin type}}. \\ 
Feature \emph{\hyperref[featureUser location]{User location}} {\bf has} data \emph{\hyperref[dataUser pin type]{User pin type}}. \\ 

\end{longtable}
\subsection{Data Open hours}
\label{dataOpen hours}

Elicitation = Brainstorming, Specification = Virtual Windows
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Opening hours of a POI\\
{\bf Spec: } & Hours open specified as two integers representing the opening and closing time in seconds.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Coupon title}
\label{dataCoupon title}

Elicitation = Task demonstration, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A string containing the coupon title.\\
{\bf Spec: } & The title is a string with a maximum of 128 chars stat is used to catch the users attention and also give a brief introduction to what the coupon offer is about.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Error code}
\label{dataError code}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Each error should have a error code.\\
{\bf Spec: } & There should exist a unique error code identification for each error as to describe said error.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataError code]{Error code}}. \\ 

\end{longtable}
\subsection{Data QR code}
\label{dataQR code}

Elicitation = Task demonstration, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Coupons registered with QR code\\
{\bf Spec: } & The coupons should have a QR code.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Mean rating value}
\label{dataMean rating value}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Mean value of POI ratings.\\
{\bf Spec: } & All ratings for said POI divided by the number of ratings shown as number between 0-5 with one decimal precision.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
\end{longtable}
\subsection{Data Coupon usage count}
\label{dataCoupon usage count}

Elicitation = Task demonstration, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Counts the number of use\\
{\bf Spec: } & The coupon has a attribute showing the number of times it has been used.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Map pin colour}
\label{dataMap pin colour}

Elicitation = Interview, Specification = Data Model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A company specific map pin color\\
{\bf Spec: } & A struct containing 3  integers representing red, green and blue with values ranging between 0 and 255.  A fourth value representing the opacity is also included as a double value between 0 and 1. This color is company specific and is used for further branding of the application.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} data \emph{\hyperref[dataMap pin colour]{Map pin colour}}. \\ 

\end{longtable}
\subsection{Data Sharing statistics}
\label{dataSharing statistics}

Elicitation = Interview, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Statistics of sharing\\
{\bf Spec: } & Statistics of how many times the user has shared a specific location.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataUsage statistics]{Usage statistics}} {\bf has} data \emph{\hyperref[dataSharing statistics]{Sharing statistics}}. \\ 

\end{longtable}
\subsection{Data Coupon applicable stores}
\label{dataCoupon applicable stores}

Elicitation = Task demonstration, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Coupons for specific stores\\
{\bf Spec: } & A coupon shall have a list of which stores they are useable in.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Map directions distance}
\label{dataMap directions distance}

Elicitation = Brainstorming, Specification = Virtual Windows
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Distance from user location to location\\
{\bf Spec: } & Distance between two locations in meters represented by a long value.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view directions]{Map view directions}} {\bf has} data \emph{\hyperref[dataMap directions distance]{Map directions distance}}. \\ 

\end{longtable}
\subsection{Data Title}
\label{dataTitle}

Elicitation = Brainstorming, Specification = Data Model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The name of the location\\
{\bf Spec: } & A string containing the name of the POI.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataTitle]{Title}} {\bf enables} quality \emph{\hyperref[qualityTitle length]{Title length}}. \\ 

\end{longtable}
\subsection{Data Address}
\label{dataAddress}

Elicitation = Focus Group, Specification = Data Model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Address of a location\\
{\bf Spec: } & A maximum of 12 character string representing the POI address\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Error description}
\label{dataError description}

Elicitation = Task demonstration, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Description of an error\\
{\bf Spec: } & A string representing a short descrption of the occured error\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataError description]{Error description}} {\bf has} quality \emph{\hyperref[qualityErrors without code]{Errors without code}}. \\ 
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} data \emph{\hyperref[dataError description]{Error description}}. \\ 

\end{longtable}
\subsection{Data POI pin type}
\label{dataPOI pin type}

Elicitation = Document studies, Specification = Data Model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Specific pin type for POIs\\
{\bf Spec: } & Represented as an integer which is used to distinguish the POI pin type.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap pin]{Map pin}} {\bf has} data \emph{\hyperref[dataPOI pin type]{POI pin type}}. \\ 
Feature \emph{\hyperref[featurePin types]{Pin types}} {\bf has} data \emph{\hyperref[dataPOI pin type]{POI pin type}}. \\ 

\end{longtable}
\subsection{Data POI popup view Icon}
\label{dataPOI popup view Icon}

Elicitation = Similar companies, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & An icon placed on the far left in a POI popup view\\
{\bf Spec: } & A icon with a size of 32x32 pixels for a retina display, otherwise 16x16 pixels. The icon is placed on the far left in a popup view\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data News url }
\label{dataNews url }

Elicitation = Task demonstration, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A url to the company news page\\
{\bf Spec: } & The news view image shall contain a URL to the company news page.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data About view contact info}
\label{dataAbout view contact info}

Elicitation = Interview, Specification =  Virtual Window
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Contact info for the developers\\
{\bf Spec: } & Contact info includes company name, address, and email address\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Coupon expiration}
\label{dataCoupon expiration}

Elicitation = Brainstorming, Specification = Data model
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Date when coupon expires\\
{\bf Spec: } & The coupon shall have a attribute that shows when it expires.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data Reviews}
\label{dataReviews}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Reviews of a location\\
{\bf Spec: } & The reviews are anonoymous personal description of a store and are stored as a maximum of 255 character array.\\
{\bf State: } & dropped\\
{\bf Why: } & Reviews might be hurtful for specific stores\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Data News image}
\label{dataNews image}

Elicitation = Task demonstration, Specification = Screenshot
\begin{longtable}{r p{10cm}}

{\bf Gist: } & An image containing the news\\
{\bf Spec: } & The news image is suppoes to include both images and text designed and provided by the company.\\
{\bf State: } & specified\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataNews image]{News image}} {\bf enables} quality \emph{\hyperref[qualityNews image size]{News image size}}. \\ 

\end{longtable}
\section{Quality entities}

\subsection{Quality Startup time}
\label{qualityStartup time}

Elicitation = Brainstorming, Specification = QUPER
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Upper limit on application startup\\
{\bf Spec: } & The launch screen should not be displayed for longer than 30 seconds in 95\\% of uses.\\
{\bf State: } & specified\\
{\bf Why: } & If the application takes too long time to start a user will be annoyed.\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Quality Error report read}
\label{qualityError report read}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The developers should read the error reports\\
{\bf Spec: } & The error reports should be read in at least 50\\% of the times by the maintainers, as long as the application is maintained.\\
{\bf State: } & specified\\
{\bf Why: } & Too maintain the quality of the application when updates are made, it's important to read the feedback from the users.\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureNotify developers]{Notify developers}} {\bf enables} quality \emph{\hyperref[qualityError report read]{Error report read}}. \\ 

\end{longtable}
\subsection{Quality Network timeout}
\label{qualityNetwork timeout}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Network requests should have a timeout\\
{\bf Spec: } & Network request should timeout when they have been pending for 1 minute.\\
{\bf State: } & specified\\
{\bf Why: } & It's unacceptable to wait more than 1 minute for a network request to complete.\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Quality XSS filtering}
\label{qualityXSS filtering}

Elicitation = Brainstorming, Specificaton = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & All user sent strings should be XSS filtered\\
{\bf Spec: } & All user sent strings should be XSS filtered, this is to prevent MySQL injection. A civil engineer with 5 years of experience should be unable to execute a MySQL injection within 5 hours.\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Quality Execution rigidity}
\label{qualityExecution rigidity}

Elicitation = Brainstorming, Specification = QUPER
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Upper limit of number of crashes during use\\
{\bf Spec: } & The application should be able to complete its defined tasks without crashing in 99\\% of the time. Se the Task chapter.\\
{\bf State: } & specified\\
{\bf Why: } & A product that does not crash too much is very important from a user point of view.\\
{\bf Owner: } & design\\
{\bf Prio: } & 5\\
\end{longtable}
\subsection{Quality Error response time}
\label{qualityError response time}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Errors when they happen\\
{\bf Spec: } & When the system encounters an error it should display a error message no later than 3 seconds later in 95\\% of the time.\\
{\bf State: } & specified\\
{\bf Why: } & If error messages does not appear fast enough the user will not relate it to what they were doing.\\
{\bf Owner: } & design\\
{\bf Prio: } & 3\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureError message]{Error message}} {\bf has} quality \emph{\hyperref[qualityError response time]{Error response time}}. \\ 

\end{longtable}
\subsection{Quality JSON}
\label{qualityJSON}

Elicitation = Document studise, Specification = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & JSON encoded data\\
{\bf Spec: } & All data packages fetched from the server should be JSON encoded. ref: http://code.google.com/p/json-framework/\\
{\bf State: } & specified\\
{\bf Why: } & To enable use of the available JSON framework that aids in getting the information quick enough. It will also minimize the size of each package.\\
{\bf Owner: } & product\\
\end{longtable}
\subsection{Quality Google API License}
\label{qualityGoogle API License}

Elicitation = Document studies, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Contains the license agreement for Google API\\
{\bf Spec: } & The End User License Agreement contains the license agreement for use of the Google API\\
{\bf State: } & specified\\
{\bf Why: } & To enable the application using google map views it needs to contain the Google API EULA\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Quality \emph{\hyperref[qualityEULA]{EULA}} {\bf has} quality \emph{\hyperref[qualityGoogle API License]{Google API License}}. \\ 

\end{longtable}
\subsection{Quality EULA}
\label{qualityEULA}

Elicitation = Brainstorming Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & End User License Agreement\\
{\bf Spec: } & The application should display the End User License Agreement on the first start-up. It should also contain this information elsewhere for future reference\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Quality \emph{\hyperref[qualityEULA]{EULA}} {\bf has} quality \emph{\hyperref[qualityGoogle API License]{Google API License}}. \\ 

\end{longtable}
\subsection{Quality Facebook guidelines}
\label{qualityFacebook guidelines}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The program should have access to Facebook API\\
{\bf Spec: } & Follows http://developers.facebook.com/docs/beta/opengraph/tutorial/ as to gain access to the Facebook API for developers.\\
{\bf State: } & specified\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Quality Errors without code}
\label{qualityErrors without code}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Error messages without programming code\\
{\bf Spec: } & Error messages should describe what is wrong in English text without using programming code.\\
{\bf State: } & specified\\
{\bf Why: } & The user will likely not understand how to avoid the error if the error message includes code lines. And even if it just contains just some code the user will most likely not read it.\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataError description]{Error description}} {\bf has} quality \emph{\hyperref[qualityErrors without code]{Errors without code}}. \\ 

\end{longtable}
\subsection{Quality Maximum pins}
\label{qualityMaximum pins}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Limit how many pins that are shown\\
{\bf Spec: } & A maximum of 50 pins may be shown at any given time.\\
{\bf State: } & specified\\
{\bf Why: } & Avoiding a cluttered screen is important for the user to apprehend the information available in the application.\\
{\bf Owner: } & design\\
{\bf Prio: } & 2\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf has} quality \emph{\hyperref[qualityMaximum pins]{Maximum pins}}. \\ 

\end{longtable}
\subsection{Quality Support for Android}
\label{qualitySupport for Android}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Application works under Android OS\\
{\bf Spec: } & The system shall be convertable to function on the Android OS platform.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Goal \emph{\hyperref[goalOS support]{OS support}} {\bf has} quality \emph{\hyperref[qualitySupport for Android]{Support for Android}}. \\ 

\end{longtable}
\subsection{Quality Maximum arrows}
\label{qualityMaximum arrows}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Limit how many arrows are shown\\
{\bf Spec: } & A maximum of 5 arrows may be shown at any given time.\\
{\bf State: } & specified\\
{\bf Why: } & Avoiding a cluttered screen is important for the user to apprehend the information available in the application.\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap view]{Map view}} {\bf has} quality \emph{\hyperref[qualityMaximum arrows]{Maximum arrows}}. \\ 

\end{longtable}
\subsection{Quality Image resolution}
\label{qualityImage resolution}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Should be of high resolution\\
{\bf Spec: } & The images displayed in the application shall be of high enough resolution to be supported by retina displays. Eg twice the normal resolution\\
{\bf State: } & specified\\
{\bf Why: } & The user must have a clear view of all images.\\
{\bf Owner: } & design\\
{\bf Prio: } & 4\\
\end{longtable}
\subsection{Quality Application resume rigidity}
\label{qualityApplication resume rigidity}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Resume without error in most of the cases\\
{\bf Spec: } & When the system resumes usage from suspension it should do so without error in 99\\% of the times.\\
{\bf State: } & specified\\
{\bf Why: } & A rigidity when resuming usage from suspension is vital for the user experience.\\
{\bf Owner: } & design\\
{\bf Prio: } & 5\\
\end{longtable}
\subsection{Quality Map arrow size}
\label{qualityMap arrow size}

Elicitation = Brainstorming, Specification = Screenshots
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Map arrows should not be too large\\
{\bf Spec: } & The maximum size of a map arrows shall be limited to 48x48 pixels\\
{\bf State: } & specified\\
{\bf Why: } & Limiting the size arrows is needed to prevent the screen to be cluttered.\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureMap arrow]{Map arrow}} {\bf has} quality \emph{\hyperref[qualityMap arrow size]{Map arrow size}}. \\ 

\end{longtable}
\subsection{Quality Tutorial in English}
\label{qualityTutorial in English}

Elicitation = Brainstorming, Specification = Feature erquierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Should be understood by a mixed English speaking focus group\\
{\bf Spec: } & At least 80\\% of the users must be able to understand the text written in the tutorial.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
\end{longtable}
\subsection{Quality Radius visibility}
\label{qualityRadius visibility}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The radius should be visible to most users.\\
{\bf Spec: } & When the radius is shown it should be visible to at least 78\\% of all users.\\
{\bf State: } & dropped\\
{\bf Why: } & Replaced by distance filter.\\
\end{longtable}
\subsection{Quality Support for iOS}
\label{qualitySupport for iOS}

Elicitation = Brainstorming, Specifications = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Application works under iOS\\
{\bf Spec: } & The application shall function on the Apple iOS5 platform.\\
{\bf State: } & specified\\
{\bf Owner: } & product\\
{\bf Prio: } & 5\\
\end{longtable}
\begin{longtable}{p{11cm}}
Goal \emph{\hyperref[goalOS support]{OS support}} {\bf has} quality \emph{\hyperref[qualitySupport for iOS]{Support for iOS}}. \\ 

\end{longtable}
\subsection{Quality Easy map view access}
\label{qualityEasy map view access}

Elicitation = Document studies, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The map view should be easy to access\\
{\bf Spec: } & 9 out of 10 users should be able to get to the map view within 3 taps upon application launch.\\
\end{longtable}
\subsection{Quality Alerts written in English}
\label{qualityAlerts written in English}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Should be written in English\\
{\bf Spec: } & Text provided by the system in alert messages should be presented in English.\\
{\bf State: } & specified\\
{\bf Why: } & We assume that most of our target users will understand English and thus assigned the application to use English.\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureAlert message]{Alert message}} {\bf has} quality \emph{\hyperref[qualityAlerts written in English]{Alerts written in English}}. \\ 

\end{longtable}
\subsection{Quality Buffer overflow attack prevention}
\label{qualityBuffer overflow attack prevention}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The system should prevent buffer overflow attacks\\
{\bf Spec: } & The system should not allow the user to preform buffer overflow attacks via user sent strings. A civil engineer with 5 years of experience should not be able to perform buffer overflow attacks with the application within 5 hours.\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Quality News image size}
\label{qualityNews image size}

Elicitation = Documentation studies, Specification = Screenshot
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Define the size of news image\\
{\bf Spec: } & The news image should be exactly 300x360 pixel points.\\
{\bf State: } & specified\\
{\bf Why: } & The news image should fit the image container\\
{\bf Owner: } & design\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataNews image]{News image}} {\bf enables} quality \emph{\hyperref[qualityNews image size]{News image size}}. \\ 

\end{longtable}
\subsection{Quality Maximum radius}
\label{qualityMaximum radius}

Elicitation = Brainstorming, Specification = Screenshotss
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Upper limit of radius set to 100km\\
{\bf Spec: } & The user should not be able to expand the radius filter to show more than a 100km radius.\\
{\bf State: } & specified\\
{\bf Why: } & If the radius is increased too much the screen will be filled by pins obstructing the users view of the map\\
{\bf Owner: } & design\\
{\bf Prio: } & 1\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureFilter radius]{Filter radius}} {\bf has} quality \emph{\hyperref[qualityMaximum radius]{Maximum radius}}. \\ 

\end{longtable}
\subsection{Quality Tutorial coverage}
\label{qualityTutorial coverage}

Elicitatiom = Brainstorming, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Should include most of the product features\\
{\bf Spec: } & The tutorial should instruct the user on how to use at least 80\\% of the available features.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
\end{longtable}
\subsection{Quality Execution time limit}
\label{qualityExecution time limit}

Elicitation = Brainstorming, Specification = QUPER
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Upper limit on the execution time\\
{\bf Spec: } & The execution time of the internet based tasks, such as fetching POIs, should not exceed 1 minute before timing out.\\
{\bf State: } & specified\\
{\bf Why: } & If executions take too long time the user will get impatient and eventually stop using the application.\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Quality iOS appstore guidelines}
\label{qualityiOS appstore guidelines}

Elicitation = Brainstorming, Specification = Feature requirements
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Follows the guidelines of the iOS appstore\\
{\bf Spec: } & The product that is specified for iOS must meet the standard requirements specified by the Apple App Store guidelines found here http://developer.apple.com/appstore/guidelines.html\\
{\bf State: } & specified\\
{\bf Why: } & The application should be listed on Apple App Store to increase availability.\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Quality Title length}
\label{qualityTitle length}

Elicitation = Focus Group, Specefication = Context Diagram
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The title length should be limited\\
{\bf Spec: } & The Title should have a maximum length of 255 chars.\\
{\bf State: } & specified\\
{\bf Why: } & The max length is so it should fit in a 128 char array in the database.\\
\end{longtable}
\begin{longtable}{p{11cm}}
Data \emph{\hyperref[dataTitle]{Title}} {\bf enables} quality \emph{\hyperref[qualityTitle length]{Title length}}. \\ 

\end{longtable}
\subsection{Quality Apple human guidelines}
\label{qualityApple human guidelines}

Elicitation = Documentation Studies
\begin{longtable}{r p{10cm}}

{\bf Gist: } & The application should follow the Apple iOS Human interface guidelines\\
{\bf Spec: } & The guidelines are located at http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html\\
{\bf Why: } & These guidelines should be followed to make the product available on Apple Appstore\\
{\bf Owner: } & domain\\
\end{longtable}
\subsection{Quality Map correct overlap}
\label{qualityMap correct overlap}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & A hybrid map should be correctly displayed\\
{\bf Spec: } & The roads on the hybrid view should be placed correctly on top of the satellite image of them.\\
{\bf State: } & specified\\
{\bf Why: } & The hybrid view will combine two map views and to reduce confusion they should be correctly placed upon each other.\\
{\bf Owner: } & domain\\
\end{longtable}
\begin{longtable}{p{11cm}}
Feature \emph{\hyperref[featureHybrid map view]{Hybrid map view}} {\bf has} quality \emph{\hyperref[qualityMap correct overlap]{Map correct overlap}}. \\ 

\end{longtable}
\subsection{Quality Maximum bookmarks}
\label{qualityMaximum bookmarks}

Elicitation = Brainstorming, Specification = Task Description
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Can store max 100 locations\\
{\bf Spec: } & The system should be able to store a list of max 100 favourite locations.\\
{\bf State: } & specified\\
{\bf Why: } & The system must support a 100 enty list of favourites.\\
{\bf Owner: } & design\\
\end{longtable}
\subsection{Quality Tutorial time efficient}
\label{qualityTutorial time efficient}

Elicitation = Brainstorming, Specification = Feature requierments
\begin{longtable}{r p{10cm}}

{\bf Gist: } & Should be able to complete the tutorial within a set time\\
{\bf Spec: } & The tutorial must be completed within 2 minutes by at least 70\\% of the users.\\
{\bf State: } & dropped\\
{\bf Why: } & dropped by product owner\\
\end{longtable}
\appendix
\chapter{Overview tables}
\begin{center}
\begin{longtable}{l|p{3cm}|p{6.1cm}}
\caption{Overview of entities in alphabetical order.} \label{entitytab} \\ 
\emph{Entity} & \emph{id} & \emph{gist} \\ 
 \hline
 \endhead
Data & \emph{\hyperref[dataAbout view contact info]{About view contact info}} & Contact info for the developers\\ \hline 
Data & \emph{\hyperref[dataAbout view credits]{About view credits}} & About view credits\\ \hline 
Data & \emph{\hyperref[dataAbout view version info]{About view version info}} & Displays the current version of the application\\ \hline 
Data & \emph{\hyperref[dataAddress]{Address}} & Address of a location\\ \hline 
Data & \emph{\hyperref[dataCoupon applicable stores]{Coupon applicable stores}} & Coupons for specific stores\\ \hline 
Data & \emph{\hyperref[dataCoupon description]{Coupon description}} & A string containing the coupon description.\\ \hline 
Data & \emph{\hyperref[dataCoupon expiration]{Coupon expiration}} & Date when coupon expires\\ \hline 
Data & \emph{\hyperref[dataCoupon title]{Coupon title}} & A string containing the coupon title.\\ \hline 
Data & \emph{\hyperref[dataCoupon usage count]{Coupon usage count}} & Counts the number of use\\ \hline 
Data & \emph{\hyperref[dataCoupon usage limit]{Coupon usage limit}} & Limit the number of times a coupon is used\\ \hline 
Data & \emph{\hyperref[dataDistance]{Distance}} & Distance from user location to location\\ \hline 
Data & \emph{\hyperref[dataError code]{Error code}} & Each error should have a error code.\\ \hline 
Data & \emph{\hyperref[dataError description]{Error description}} & Description of an error\\ \hline 
Data & \emph{\hyperref[dataMap directions distance]{Map directions distance}} & Distance from user location to location\\ \hline 
Data & \emph{\hyperref[dataMap pin colour]{Map pin colour}} & A company specific map pin color\\ \hline 
Data & \emph{\hyperref[dataMean rating value]{Mean rating value}} & Mean value of POI ratings.\\ \hline 
Data & \emph{\hyperref[dataNews image]{News image}} & An image containing the news\\ \hline 
Data & \emph{\hyperref[dataNews url ]{News url }} & A url to the company news page\\ \hline 
Data & \emph{\hyperref[dataOS identifier]{OS identifier}} & An identifier used when sending developer feedback and error messages\\ \hline 
Data & \emph{\hyperref[dataOpen hours]{Open hours}} & Opening hours of a POI\\ \hline 
Data & \emph{\hyperref[dataPOI pin type]{POI pin type}} & Specific pin type for POIs\\ \hline 
Data & \emph{\hyperref[dataPOI popup view Icon]{POI popup view Icon}} & An icon placed on the far left in a POI popup view\\ \hline 
Data & \emph{\hyperref[dataQR code]{QR code}} & Coupons registered with QR code\\ \hline 
Data & \emph{\hyperref[dataRating]{Rating}} & Numerical rating 0-5\\ \hline 
Data & \emph{\hyperref[dataReviews]{Reviews}} & Reviews of a location\\ \hline 
Data & \emph{\hyperref[dataSharing statistics]{Sharing statistics}} & Statistics of sharing\\ \hline 
Data & \emph{\hyperref[dataTimestamp]{Timestamp}} & the error message should contain a timestamp when the error occurred\\ \hline 
Data & \emph{\hyperref[dataTitle]{Title}} & The name of the location\\ \hline 
Data & \emph{\hyperref[dataUsage statistics]{Usage statistics}} & Usage statistics\\ \hline 
Data & \emph{\hyperref[dataUser pin type]{User pin type}} & Specific pin type for the users location\\ \hline 
Feature & \emph{\hyperref[featureAbout view]{About view}} & Information about the developers and the application\\ \hline 
Feature & \emph{\hyperref[featureAlert messages]{Alert messages}} & The application can alert the user through different types of messages\\ \hline 
Feature & \emph{\hyperref[featureBlacklisted]{Blacklisted}} & Filters by blacklist\\ \hline 
Feature & \emph{\hyperref[featureBookmark]{Bookmark}} & The main bookmark feature\\ \hline 
Feature & \emph{\hyperref[featureCancelable POI fetch]{Cancelable POI fetch}} & It should be possible to cancel POI fetching\\ \hline 
Feature & \emph{\hyperref[featureCategory]{Category}} & Filters by category\\ \hline 
Feature & \emph{\hyperref[featureCheck-in]{Check-in}} & The application allows the user to check-in through Facebook\\ \hline 
Feature & \emph{\hyperref[featureCoupon]{Coupon}} & The application will have functionality for special offers through a coupon system\\ \hline 
Feature & \emph{\hyperref[featureDeveloper feedback]{Developer feedback}} & A user can give feedback to developers\\ \hline 
Feature & \emph{\hyperref[featureE-mail]{E-mail}} & Support sharing of POIs through email\\ \hline 
Feature & \emph{\hyperref[featureError margin radius]{Error margin radius}} & Shows the error margin\\ \hline 
Feature & \emph{\hyperref[featureError message]{Error message}} & Gives an alert to an error occuring\\ \hline 
Feature & \emph{\hyperref[featureExecution time error]{Execution time error}} & If a phone function times out an error is displayed\\ \hline 
Feature & \emph{\hyperref[featureExecution]{Execution}} & Requirements related to the execution\\ \hline 
Feature & \emph{\hyperref[featureFacebook message wall]{Facebook message wall}} & Ability to write a message about the POI on a wall\\ \hline 
Feature & \emph{\hyperref[featureFacebook message]{Facebook message}} & Send a facebook message including a POI\\ \hline 
Feature & \emph{\hyperref[featureFilter bookmarks]{Filter bookmarks}} & It should be possible to filter by bookmarks\\ \hline 
Feature & \emph{\hyperref[featureFilter open hours]{Filter open hours}} & Filter stores by opening hours\\ \hline 
Feature & \emph{\hyperref[featureFilter radius]{Filter radius}} & It should be possible to filter by radius\\ \hline 
Feature & \emph{\hyperref[featureFilter]{Filter}} & Filtering of the results is possible\\ \hline 
Feature & \emph{\hyperref[featureFrom specified location]{From specified location}} & Gives directions to a Point Of Interest from a specified location, perhaps different from the users current position.\\ \hline 
Feature & \emph{\hyperref[featureGoogle+ integration]{Google+ integration}} & The application should be able to have interactivity with google+\\ \hline 
Feature & \emph{\hyperref[featureGoogle+ message]{Google+ message}} & Send a google+ message including a POI\\ \hline 
Feature & \emph{\hyperref[featureHybrid map view]{Hybrid map view}} & Map can be displayed as a hybrid view\\ \hline 
Feature & \emph{\hyperref[featureInfo view]{Info view}} & The Info view contains the information for a POI\\ \hline 
Feature & \emph{\hyperref[featureIntroduction tutorial]{Introduction tutorial}} & An introductory tutorial for first-time users\\ \hline 
Feature & \emph{\hyperref[featureLaunch screen]{Launch screen}} & A screen that is displayed during startup of the application\\ \hline 
Feature & \emph{\hyperref[featureMap arrow]{Map arrow}} & Arrow pointing to locations rendered on top of the map view\\ \hline 
Feature & \emph{\hyperref[featureMap compass]{Map compass}} & A compass showing directions\\ \hline 
Feature & \emph{\hyperref[featureMap pin]{Map pin}} & A pin rendered on the map that marks a location.\\ \hline 
Feature & \emph{\hyperref[featureMap support]{Map support}} & Map features\\ \hline 
Feature & \emph{\hyperref[featureMap view directions]{Map view directions}} & Gives the user directions from user's location to the specified POI\\ \hline 
Feature & \emph{\hyperref[featureMap view]{Map view}} & The map view retrieved from Google Maps\\ \hline 
Feature & \emph{\hyperref[featureNetwork message]{Network message}} & Should inform the user of the status of the network\\ \hline 
Feature & \emph{\hyperref[featureNetwork timeout]{Network timeout}} & Show alert message on time out\\ \hline 
Feature & \emph{\hyperref[featureNews page control]{News page control}} & Indicates and controls multiple news images\\ \hline 
Feature & \emph{\hyperref[featureNews page]{News page}} & The main news wrapper\\ \hline 
Feature & \emph{\hyperref[featureNews]{News}} & A screen that gives the user news about the franchise\\ \hline 
Feature & \emph{\hyperref[featureNo Internet connection]{No Internet connection}} & Show alert message when no internet connection\\ \hline 
Feature & \emph{\hyperref[featureNo data traffic]{No data traffic}} & Show alert message when no data traffic\\ \hline 
Feature & \emph{\hyperref[featureNo server connection]{No server connection}} & Show alert message when no server connection\\ \hline 
Feature & \emph{\hyperref[featureNotify developers]{Notify developers}} & The user can notify the developers of an occurred error\\ \hline 
Feature & \emph{\hyperref[featurePOI changeable icon]{POI changeable icon}} & Pins should have customizable icon\\ \hline 
Feature & \emph{\hyperref[featurePOI popup]{POI popup}} & Shows information about a selected POI\\ \hline 
Feature & \emph{\hyperref[featurePanable map view]{Panable map view}} & The map view should be panable\\ \hline 
Feature & \emph{\hyperref[featurePin types]{Pin types}} & There should exist more than one type of pins.\\ \hline 
Feature & \emph{\hyperref[featurePush notification]{Push notification}} & Application can send push notifications (iOS SPECIFIC)\\ \hline 
Feature & \emph{\hyperref[featureRate message]{Rate message}} & Alerts the user to rate the application\\ \hline 
Feature & \emph{\hyperref[featureRating]{Rating}} & Filter by ratings\\ \hline 
Feature & \emph{\hyperref[featureRegular map view]{Regular map view}} & Support for a regular map view\\ \hline 
Feature & \emph{\hyperref[featureRetake tutorial]{Retake tutorial}} & The introductory tutorial should be retakeable\\ \hline 
Feature & \emph{\hyperref[featureSMS integration]{SMS integration}} & Support for sharing a POI via SMS\\ \hline 
Feature & \emph{\hyperref[featureSatellite map view]{Satellite map view}} & Map can be displayed as a satellite view\\ \hline 
Feature & \emph{\hyperref[featureScaling map arrow]{Scaling map arrow}} & Arrows should scale depending on distance.\\ \hline 
Feature & \emph{\hyperref[featureSharing support]{Sharing support}} & Support for sharing statistics and POIs\\ \hline 
Feature & \emph{\hyperref[featureSpecifiable location]{Specifiable location}} & The user location can be specified\\ \hline 
Feature & \emph{\hyperref[featureTapable map pin]{Tapable map pin}} & Pins are tapable\\ \hline 
Feature & \emph{\hyperref[featureTransform to a map pin]{Transform to a map pin}} & Transforms arrow into a map pin\\ \hline 
Feature & \emph{\hyperref[featureTwitter]{Twitter}} & Share POIs on twitter\\ \hline 
Feature & \emph{\hyperref[featureUser location]{User location}} & Show the location of the user\\ \hline 
Feature & \emph{\hyperref[featureVersion message]{Version message}} & Notify the user when new version is available\\ \hline 
Feature & \emph{\hyperref[featureView bookmark]{View bookmark}} & Show the corresponding POI info view\\ \hline 
Feature & \emph{\hyperref[featureViewability toggle]{Viewability toggle}} & Visibility of radius can be toggled\\ \hline 
Feature & \emph{\hyperref[featureZoomable map view]{Zoomable map view}} & The user should be able to zoom in and out in the map view\\ \hline 
Function & \emph{\hyperref[functionBookmark POI]{Bookmark POI}} & The users can bookmark POIs\\ \hline 
Function & \emph{\hyperref[functionCopy location]{Copy location}} & Able to copy selected location\\ \hline 
Function & \emph{\hyperref[functionFetch POIs]{Fetch POIs}} & Fetches nearby points of interest from server.\\ \hline 
Function & \emph{\hyperref[functionHide coupon]{Hide coupon}} & Hide an unwanted cuopon\\ \hline 
Function & \emph{\hyperref[functionMap arrow shows distance]{Map arrow shows distance}} & The arrows should show the distance from the user to the location\\ \hline 
Function & \emph{\hyperref[functionRemove bookmark]{Remove bookmark}} & Favourites should be removable\\ \hline 
Function & \emph{\hyperref[functionShow POIs]{Show POIs}} & Shows POIs according to the user defined filter\\ \hline 
Function & \emph{\hyperref[functionShow hidden coupons]{Show hidden coupons}} & Show which coupons have been hidden\\ \hline 
Function & \emph{\hyperref[functionShow map]{Show map}} & Shows a map\\ \hline 
Function & \emph{\hyperref[functionTapable news]{Tapable news}} & The news image should be tapable\\ \hline 
Function & \emph{\hyperref[functionUnhide hidden coupon]{Unhide hidden coupon}} & Unhide a coupon\\ \hline 
Function & \emph{\hyperref[functionUse coupon]{Use coupon}} & Use a coupon \\ \hline 
Goal & \emph{\hyperref[goalConsumer popularity]{Consumer popularity}} & Increase popularity of consumer company\\ \hline 
Goal & \emph{\hyperref[goalCustomiseable application]{Customiseable application}} & The application will be customisable\\ \hline 
Goal & \emph{\hyperref[goalCustomizable application]{Customizable application}} & The application should be customizable\\ \hline 
Goal & \emph{\hyperref[goalOS support]{OS support}} & Mobile OS support\\ \hline 
Goal & \emph{\hyperref[goalProfitable]{Profitable}} & The application should be profitable\\ \hline 
Goal & \emph{\hyperref[goalSufficient error feedback]{Sufficient error feedback}} & Inform the user about errors\\ \hline 
Quality & \emph{\hyperref[qualityAlerts written in English]{Alerts written in English}} & Should be written in English\\ \hline 
Quality & \emph{\hyperref[qualityApple human guidelines]{Apple human guidelines}} & The application should follow the Apple iOS Human interface guidelines\\ \hline 
Quality & \emph{\hyperref[qualityApplication resume rigidity]{Application resume rigidity}} & Resume without error in most of the cases\\ \hline 
Quality & \emph{\hyperref[qualityBuffer overflow attack prevention]{Buffer overflow attack prevention}} & The system should prevent buffer overflow attacks\\ \hline 
Quality & \emph{\hyperref[qualityEULA]{EULA}} & End User License Agreement\\ \hline 
Quality & \emph{\hyperref[qualityEasy map view access]{Easy map view access}} & The map view should be easy to access\\ \hline 
Quality & \emph{\hyperref[qualityError report read]{Error report read}} & The developers should read the error reports\\ \hline 
Quality & \emph{\hyperref[qualityError response time]{Error response time}} & Errors when they happen\\ \hline 
Quality & \emph{\hyperref[qualityErrors without code]{Errors without code}} & Error messages without programming code\\ \hline 
Quality & \emph{\hyperref[qualityExecution rigidity]{Execution rigidity}} & Upper limit of number of crashes during use\\ \hline 
Quality & \emph{\hyperref[qualityExecution time limit]{Execution time limit}} & Upper limit on the execution time\\ \hline 
Quality & \emph{\hyperref[qualityFacebook guidelines]{Facebook guidelines}} & The program should have access to Facebook API\\ \hline 
Quality & \emph{\hyperref[qualityGoogle API License]{Google API License}} & Contains the license agreement for Google API\\ \hline 
Quality & \emph{\hyperref[qualityImage resolution]{Image resolution}} & Should be of high resolution\\ \hline 
Quality & \emph{\hyperref[qualityJSON]{JSON}} & JSON encoded data\\ \hline 
Quality & \emph{\hyperref[qualityMap arrow size]{Map arrow size}} & Map arrows should not be too large\\ \hline 
Quality & \emph{\hyperref[qualityMap correct overlap]{Map correct overlap}} & A hybrid map should be correctly displayed\\ \hline 
Quality & \emph{\hyperref[qualityMaximum arrows]{Maximum arrows}} & Limit how many arrows are shown\\ \hline 
Quality & \emph{\hyperref[qualityMaximum bookmarks]{Maximum bookmarks}} & Can store max 100 locations\\ \hline 
Quality & \emph{\hyperref[qualityMaximum pins]{Maximum pins}} & Limit how many pins that are shown\\ \hline 
Quality & \emph{\hyperref[qualityMaximum radius]{Maximum radius}} & Upper limit of radius set to 100km\\ \hline 
Quality & \emph{\hyperref[qualityNetwork timeout]{Network timeout}} & Network requests should have a timeout\\ \hline 
Quality & \emph{\hyperref[qualityNews image size]{News image size}} & Define the size of news image\\ \hline 
Quality & \emph{\hyperref[qualityRadius visibility]{Radius visibility}} & The radius should be visible to most users.\\ \hline 
Quality & \emph{\hyperref[qualityStartup time]{Startup time}} & Upper limit on application startup\\ \hline 
Quality & \emph{\hyperref[qualitySupport for Android]{Support for Android}} & Application works under Android OS\\ \hline 
Quality & \emph{\hyperref[qualitySupport for iOS]{Support for iOS}} & Application works under iOS\\ \hline 
Quality & \emph{\hyperref[qualityTitle length]{Title length}} & The title length should be limited\\ \hline 
Quality & \emph{\hyperref[qualityTutorial coverage]{Tutorial coverage}} & Should include most of the product features\\ \hline 
Quality & \emph{\hyperref[qualityTutorial in English]{Tutorial in English}} & Should be understood by a mixed English speaking focus group\\ \hline 
Quality & \emph{\hyperref[qualityTutorial time efficient]{Tutorial time efficient}} & Should be able to complete the tutorial within a set time\\ \hline 
Quality & \emph{\hyperref[qualityXSS filtering]{XSS filtering}} & All user sent strings should be XSS filtered\\ \hline 
Quality & \emph{\hyperref[qualityiOS appstore guidelines]{iOS appstore guidelines}} & Follows the guidelines of the iOS appstore\\ \hline 
Subtask & \emph{\hyperref[subtaskBookmark location]{Bookmark location}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskDismiss the alert message]{Dismiss the alert message}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskFetch coupons]{Fetch coupons}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskFetch news from server]{Fetch news from server}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskFetch stored bookmarks]{Fetch stored bookmarks}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskFilter POIs]{Filter POIs}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskLoad bookmarks list]{Load bookmarks list}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskLoad new map]{Load new map}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskMark pin as bookmark]{Mark pin as bookmark}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskOpen coupon]{Open coupon}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskProcess result]{Process result}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskRemove bookmark from list]{Remove bookmark from list}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskRemove bookmark from local storage]{Remove bookmark from local storage}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskRemove launch screen]{Remove launch screen}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskRequest new map]{Request new map}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskRetrieve alert message]{Retrieve alert message}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskReverse geocode active location]{Reverse geocode active location}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskSelect sharing method]{Select sharing method}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskSend fetch request]{Send fetch request}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShare POI]{Share POI}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow POIs]{Show POIs}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow alert popup]{Show alert popup}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow bookmark]{Show bookmark}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow brief information.]{Show brief information.}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow complete information]{Show complete information}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow complete information.]{Show complete information.}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow coupons]{Show coupons}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow default tab]{Show default tab}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow hidden coupons]{Show hidden coupons}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow info]{Show info}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow launch screen]{Show launch screen}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow news]{Show news}} & \\ \hline 
Subtask & \emph{\hyperref[subtaskShow reults]{Show reults}} & \\ \hline 
Task & \emph{\hyperref[taskApplication startup]{Application startup}} & \\ \hline 
Task & \emph{\hyperref[taskChange map terrain]{Change map terrain}} & \\ \hline 
Task & \emph{\hyperref[taskFetch Points Of Intrest (POI)]{Fetch Points Of Intrest (POI)}} & \\ \hline 
Task & \emph{\hyperref[taskFilter POIs]{Filter POIs}} & \\ \hline 
Task & \emph{\hyperref[taskMark location as bookmark]{Mark location as bookmark}} & \\ \hline 
Task & \emph{\hyperref[taskRemove a bookmark]{Remove a bookmark}} & \\ \hline 
Task & \emph{\hyperref[taskShare POI]{Share POI}} & \\ \hline 
Task & \emph{\hyperref[taskShow a bookmark]{Show a bookmark}} & \\ \hline 
Task & \emph{\hyperref[taskShow about view]{Show about view}} & \\ \hline 
Task & \emph{\hyperref[taskShow alert message]{Show alert message}} & \\ \hline 
Task & \emph{\hyperref[taskShow bookmarks list]{Show bookmarks list}} & \\ \hline 
Task & \emph{\hyperref[taskShow coupon view]{Show coupon view}} & \\ \hline 
Task & \emph{\hyperref[taskShow fetched POIs]{Show fetched POIs}} & \\ \hline 
Task & \emph{\hyperref[taskShow news view]{Show news view}} & \\ \hline 
Task & \emph{\hyperref[taskShow pin information]{Show pin information}} & \\ \hline 
Task & \emph{\hyperref[taskShow specific pin information]{Show specific pin information}} & \\ \hline 
Task & \emph{\hyperref[taskUnhide a hidden coupon]{Unhide a hidden coupon}} & \\ \hline 
Task & \emph{\hyperref[taskUse a coupon]{Use a coupon}} & 

\end{longtable}
\end{center}
\begin{center}
\begin{longtable}{l|l|p{2cm}|p{6.1cm}}
\caption{Overview of relations in alphabetical order.} \label{relationtab} \\ 
\emph{Entity} & \emph{id} & \emph{relation} & \emph{related to} \\ 
 \hline
 \endhead
Data & \emph{\hyperref[dataError description]{Error description}} & has& Quality \emph{\hyperref[qualityErrors without code]{Errors without code}}\\ \hline 
Data & \emph{\hyperref[dataNews image]{News image}} & enables& Quality \emph{\hyperref[qualityNews image size]{News image size}}\\ \hline 
Data & \emph{\hyperref[dataTitle]{Title}} & enables& Quality \emph{\hyperref[qualityTitle length]{Title length}}\\ \hline 
Data & \emph{\hyperref[dataUsage statistics]{Usage statistics}} & has& Data \emph{\hyperref[dataSharing statistics]{Sharing statistics}}\\ \hline 
Feature & \emph{\hyperref[featureAlert message]{Alert message}} & has& Feature \emph{\hyperref[featureNetwork message]{Network message}} \\ 
 & & & Quality \emph{\hyperref[qualityAlerts written in English]{Alerts written in English}} \\ 
 & & & Feature \emph{\hyperref[featureError message]{Error message}} \\ 
 & & & Feature \emph{\hyperref[featureVersion message]{Version message}} \\ 
 & & & Feature \emph{\hyperref[featureRate message]{Rate message}}\\ \hline 
Feature & \emph{\hyperref[featureDeveloper feedback]{Developer feedback}} & enables& Quality \emph{\hyperref[qualityFeedback read]{Feedback read}}\\ \hline 
Feature & \emph{\hyperref[featureError message]{Error message}} & has& Data \emph{\hyperref[dataOS identifier]{OS identifier}} \\ 
 & & & Feature \emph{\hyperref[featureExecution time error]{Execution time error}} \\ 
 & & & Data \emph{\hyperref[dataError description]{Error description}} \\ 
 & & & Quality \emph{\hyperref[qualityError response time]{Error response time}} \\ 
 & & & Data \emph{\hyperref[dataError code]{Error code}} \\ 
 & & & Feature \emph{\hyperref[featureNotify developers]{Notify developers}} \\ 
 & & & Data \emph{\hyperref[dataTimestamp]{Timestamp}}\\ \hline 
Feature & \emph{\hyperref[featureFiler]{Filer}} & has& Feature \emph{\hyperref[featureFilter radius]{Filter radius}} \\ 
 & & & Feature \emph{\hyperref[featureFilter bookmarks]{Filter bookmarks}} \\ 
 & & & Feature \emph{\hyperref[featureFilter open hours]{Filter open hours}}\\ \hline 
Feature & \emph{\hyperref[featureFilter radius]{Filter radius}} & has& Quality \emph{\hyperref[qualityMaximum radius]{Maximum radius}}\\ \hline 
Feature & \emph{\hyperref[featureHybrid map view]{Hybrid map view}} & has& Quality \emph{\hyperref[qualityMap correct overlap]{Map correct overlap}}\\ \hline 
Feature & \emph{\hyperref[featureMap arrow]{Map arrow}} & has& Feature \emph{\hyperref[featureTransform to a map pin]{Transform to a map pin}} \\ 
 & & & Quality \emph{\hyperref[qualityMap arrow size]{Map arrow size}} \\ 
 & & & Function \emph{\hyperref[functionMap arrow shows distance]{Map arrow shows distance}}\\ \hline 
Feature & \emph{\hyperref[featureMap pin]{Map pin}} & has& Feature \emph{\hyperref[featureTapable map pin]{Tapable map pin}} \\ 
 & & & Feature \emph{\hyperref[featurePOI popup]{POI popup}} \\ 
 & & & Function \emph{\hyperref[functionPOI popup]{POI popup}} \\ 
 & & & Data \emph{\hyperref[dataMap pin colour]{Map pin colour}} \\ 
 & & & Data \emph{\hyperref[dataPOI pin type]{POI pin type}}\\ \hline 
Feature & \emph{\hyperref[featureMap support]{Map support}} & enables& Function \emph{\hyperref[functionShow map]{Show map}} \\ 
 & & & Feature \emph{\hyperref[featureMap view]{Map view}}\\ \hline 
Feature & \emph{\hyperref[featureMap support]{Map support}} & has& Function \emph{\hyperref[functionFetch POIs]{Fetch POIs}} \\ 
 & & & Feature \emph{\hyperref[featureCancelable POI fetch]{Cancelable POI fetch}}\\ \hline 
Feature & \emph{\hyperref[featureMap view directions]{Map view directions}} & has& Data \emph{\hyperref[dataMap directions distance]{Map directions distance}}\\ \hline 
Feature & \emph{\hyperref[featureMap view]{Map view}} & enables& Feature \emph{\hyperref[featureMap arrow]{Map arrow}} \\ 
 & & & Feature \emph{\hyperref[featurePanable map view]{Panable map view}} \\ 
 & & & Feature \emph{\hyperref[featureHybrid map view]{Hybrid map view}} \\ 
 & & & Feature \emph{\hyperref[featureMap pin]{Map pin}} \\ 
 & & & Feature \emph{\hyperref[featureMap view directions]{Map view directions}} \\ 
 & & & Feature \emph{\hyperref[featureRegular map view]{Regular map view}} \\ 
 & & & Feature \emph{\hyperref[featureMap compass]{Map compass}} \\ 
 & & & Feature \emph{\hyperref[featureSattelite map view]{Sattelite map view}} \\ 
 & & & Feature \emph{\hyperref[featureUser location]{User location}} \\ 
 & & & Feature \emph{\hyperref[featureZoomable map view]{Zoomable map view}}\\ \hline 
Feature & \emph{\hyperref[featureMap view]{Map view}} & has& Quality \emph{\hyperref[qualityMaximum pins]{Maximum pins}} \\ 
 & & & Quality \emph{\hyperref[qualityMaximum arrows]{Maximum arrows}}\\ \hline 
Feature & \emph{\hyperref[featureNetwork message]{Network message}} & has& Feature \emph{\hyperref[featureNetwork timeout]{Network timeout}} \\ 
 & & & Feature \emph{\hyperref[featureNo Internet connection]{No Internet connection}} \\ 
 & & & Feature \emph{\hyperref[featureNo data traffic]{No data traffic}} \\ 
 & & & Feature \emph{\hyperref[featureNo server connection]{No server connection}}\\ \hline 
Feature & \emph{\hyperref[featureNotify developers]{Notify developers}} & enables& Quality \emph{\hyperref[qualityError report read]{Error report read}}\\ \hline 
Feature & \emph{\hyperref[featurePin types]{Pin types}} & has& Data \emph{\hyperref[dataUser pin type]{User pin type}} \\ 
 & & & Data \emph{\hyperref[dataPOI pin type]{POI pin type}}\\ \hline 
Feature & \emph{\hyperref[featureUser location]{User location}} & has& Data \emph{\hyperref[dataUser pin type]{User pin type}} \\ 
 & & & Feature \emph{\hyperref[featureSpeciable location]{Speciable location}} \\ 
 & & & Feature \emph{\hyperref[featureError margin radius]{Error margin radius}}\\ \hline 
Function & \emph{\hyperref[functionPOI popup]{POI popup}} & has& Data \emph{\hyperref[dataPOI popup view icon]{POI popup view icon}}\\ \hline 
Function & \emph{\hyperref[functionShow map]{Show map}} & enables& Function \emph{\hyperref[functionShow POIs]{Show POIs}}\\ \hline 
Goal & \emph{\hyperref[goalOS support]{OS support}} & has& Quality \emph{\hyperref[qualitySupport for iOS]{Support for iOS}} \\ 
 & & & Quality \emph{\hyperref[qualitySupport for Android]{Support for Android}}\\ \hline 
Quality & \emph{\hyperref[qualityEULA]{EULA}} & has& Quality \emph{\hyperref[qualityGoogle API License]{Google API License}}\\ \hline 
Task & \emph{\hyperref[taskApplication startup]{Application startup}} & has& Subtask \emph{\hyperref[subtaskShow launch screen]{Show launch screen}} \\ 
 & & & Subtask \emph{\hyperref[subtaskRemove launch screen]{Remove launch screen}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShow default tab]{Show default tab}}\\ \hline 
Task & \emph{\hyperref[taskChange map terrain]{Change map terrain}} & has& Subtask \emph{\hyperref[subtaskRequest new map]{Request new map}} \\ 
 & & & Subtask \emph{\hyperref[subtaskload new map]{load new map}}\\ \hline 
Task & \emph{\hyperref[taskFetch Points Of Intrest (POI)]{Fetch Points Of Intrest (POI)}} & has& Subtask \emph{\hyperref[subtaskReverse geocode location]{Reverse geocode location}} \\ 
 & & & Subtask \emph{\hyperref[subtaskSend fetch request]{Send fetch request}} \\ 
 & & & Subtask \emph{\hyperref[subtaskProcess result]{Process result}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShow results]{Show results}}\\ \hline 
Task & \emph{\hyperref[taskFilter POIs]{Filter POIs}} & has& Subtask \emph{\hyperref[subtaskFilter POIs]{Filter POIs}}\\ \hline 
Task & \emph{\hyperref[taskMark location as bookmark]{Mark location as bookmark}} & has& Subtask \emph{\hyperref[subtaskBookmark location]{Bookmark location}} \\ 
 & & & Subtask \emph{\hyperref[subtaskMark pin as bookmark]{Mark pin as bookmark}}\\ \hline 
Task & \emph{\hyperref[taskRemove a bookmark]{Remove a bookmark}} & has& Subtask \emph{\hyperref[subtaskRemove bookmark from list]{Remove bookmark from list}} \\ 
 & & & Subtask \emph{\hyperref[subtaskRemove bookmark from local storage]{Remove bookmark from local storage}}\\ \hline 
Task & \emph{\hyperref[taskShare POI]{Share POI}} & has& Subtask \emph{\hyperref[subtaskSelect sharing method]{Select sharing method}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShare POI]{Share POI}}\\ \hline 
Task & \emph{\hyperref[taskShow Fetched POIs]{Show Fetched POIs}} & has& Subtask \emph{\hyperref[subtaskShow POIs]{Show POIs}}\\ \hline 
Task & \emph{\hyperref[taskShow a bookmark]{Show a bookmark}} & has& Subtask \emph{\hyperref[subtaskShow bookmark]{Show bookmark}}\\ \hline 
Task & \emph{\hyperref[taskShow about view]{Show about view}} & has& Subtask \emph{\hyperref[subtaskShow info]{Show info}}\\ \hline 
Task & \emph{\hyperref[taskShow alert message]{Show alert message}} & has& Subtask \emph{\hyperref[subtaskRetrieve alert message]{Retrieve alert message}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShow alert message]{Show alert message}} \\ 
 & & & Subtask \emph{\hyperref[subtaskDismiss alert message]{Dismiss alert message}}\\ \hline 
Task & \emph{\hyperref[taskShow bookmarks list]{Show bookmarks list}} & has& Subtask \emph{\hyperref[subtaskFetch stored bookmarks]{Fetch stored bookmarks}}\\ \hline 
Task & \emph{\hyperref[taskShow coupon view]{Show coupon view}} & has& Subtask \emph{\hyperref[subtaskFetch coupons]{Fetch coupons}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShow coupons]{Show coupons}}\\ \hline 
Task & \emph{\hyperref[taskShow news view]{Show news view}} & has& Subtask \emph{\hyperref[subtaskFetch news from server]{Fetch news from server}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShow news]{Show news}}\\ \hline 
Task & \emph{\hyperref[taskShow pin information]{Show pin information}} & has& Subtask \emph{\hyperref[subtaskShow brief information.]{Show brief information.}} \\ 
 & & & Subtask \emph{\hyperref[subtaskShow complete information.]{Show complete information.}}\\ \hline 
Task & \emph{\hyperref[taskShow specific information]{Show specific information}} & has& Subtask \emph{\hyperref[subtaskShow complete information]{Show complete information}}\\ \hline 
Task & \emph{\hyperref[taskUnhide a hidden coupon]{Unhide a hidden coupon}} & has& Subtask \emph{\hyperref[subtaskShow hidden coupons]{Show hidden coupons}}\\ \hline 
Task & \emph{\hyperref[taskUse a coupon]{Use a coupon}} & has& Subtask \emph{\hyperref[subtaskOpen coupon]{Open coupon}}

\end{longtable}
\end{center}

\end{document}

